package com.ruoyi.merchant.serviceType.service;

import java.util.List;
import com.ruoyi.merchant.serviceType.domain.ServiceType;

/**
 * 服务类别Service接口
 * 
 * @author zzr
 * @date 2025-09-14
 */
public interface IServiceTypeService 
{
    /**
     * 查询服务类别
     * 
     * @param id 服务类别主键
     * @return 服务类别
     */
    public ServiceType selectServiceTypeById(Long id);
    /**
     * 全查服务类别（不分页，过滤逻辑删除）
     * @param serviceType 筛选条件（如name、status等，可为null）
     * @return 全量未删除的服务类别列表
     */
    List<ServiceType> selectAllServiceType(ServiceType serviceType);
    public List<ServiceType> selectServiceTypesByShopId(Long shopId);
    /**
     * 查询服务类别列表
     * 
     * @param serviceType 服务类别
     * @return 服务类别集合
     */
    public List<ServiceType> selectServiceTypeList(ServiceType serviceType);

    /**
     * 新增服务类别
     * 
     * @param serviceType 服务类别
     * @return 结果
     */
    public int insertServiceType(ServiceType serviceType);

    /**
     * 修改服务类别
     * 
     * @param serviceType 服务类别
     * @return 结果
     */
    public int updateServiceType(ServiceType serviceType);

    /**
     * 批量删除服务类别
     * 
     * @param ids 需要删除的服务类别主键集合
     * @return 结果
     */
    public int deleteServiceTypeByIds(Long[] ids);

    /**
     * 删除服务类别信息
     * 
     * @param id 服务类别主键
     * @return 结果
     */
    public int deleteServiceTypeById(Long id);

    /**
     * 检查服务类别是否被引用
     * @param id 服务类别ID
     * @return true-被引用，false-未被引用
     */
    boolean hasReferences(Long id);

    /**
     * 批量检查服务类别是否被引用
     * @param ids 服务类别ID数组
     * @return true-存在引用，false-无引用
     */
    boolean hasReferencesByIds(Long[] ids);
}
